executable("bugpoint") {
  deps = [
    "//llvm/include/llvm/Config:config",
    "//llvm/include/llvm/Config:llvm-config",
    "//llvm/lib/Analysis",
    "//llvm/lib/Bitcode/Writer",
    "//llvm/lib/CodeGen",
    "//llvm/lib/IR",
    "//llvm/lib/IRReader",
    "//llvm/lib/Linker",
    "//llvm/lib/Support",
    "//llvm/lib/Target",
    "//llvm/lib/Target:TargetsToBuild",
    "//llvm/lib/TargetParser",
    "//llvm/lib/Transforms/AggressiveInstCombine",
    "//llvm/lib/Transforms/IPO",
    "//llvm/lib/Transforms/Instrumentation",
    "//llvm/lib/Transforms/ObjCARC",
    "//llvm/lib/Transforms/Scalar",
    "//llvm/lib/Transforms/Utils",
    "//llvm/lib/Transforms/Vectorize",
  ]
  sources = [
    "BugDriver.cpp",
    "CrashDebugger.cpp",
    "ExecutionDriver.cpp",
    "ExtractFunction.cpp",
    "FindBugs.cpp",
    "Miscompilation.cpp",
    "OptimizerDriver.cpp",
    "ToolRunner.cpp",
    "bugpoint.cpp",
  ]

  # Support plugins.
  # FIXME: Disable dead stripping once other binaries are dead-stripped.
  if (host_os != "mac" && host_os != "win") {
    # Make sure bugpoint plugins can access bugpoint's symbols.
    # Corresponds to export_executable_symbols() in cmake.
    ldflags = [ "-rdynamic" ]
  }
}
